package com.koi.common.utils.number;

/**
 * @author ･ᴗ･
 * @description [GenBatchUtil]
 */
public class GenBatchUtil {

    /**
     * @param prefix     前缀
     * @param number     前缀 加几位
     * @param sortNumber 指定数字
     * @description [生成批次号]
     * @author ･ᴗ･
     */
    public static String getBatchNumber(String prefix, int number, int sortNumber) {
        String formatString = "%0" + number + "d";
        String serialNumber = String.format(formatString, sortNumber);
        return prefix + serialNumber;
    }

    /**
     * @param prefix      前缀
     * @param batchNumber 批次号
     * @description [获取当前批次号顺序]
     * @author ･ᴗ･
     */
    public static int getSortNumber(String prefix, String batchNumber) {
        int index = batchNumber.indexOf(prefix);
        String result = batchNumber.substring(index + prefix.length());
        return Integer.parseInt(result);
    }

    public static void main(String[] args) {
        GenBatchUtil batchUtil = new GenBatchUtil();
        String serialNumber = batchUtil.getBatchNumber("KOI", 12, 10); // 生成12位流水编号
        System.out.println(serialNumber);  // 输出生成的12位流水编号

        String serialNumber8 = batchUtil.getBatchNumber("KOI", 8, 16); // 生成8位流水编号
        System.out.println(serialNumber8);  // 输出生成的8位流水编号

        int koi = batchUtil.getSortNumber("KOI", serialNumber8);
        System.out.println(koi);
    }

}
